package main

import (
	"fmt"
	"math/big"
	"reflect"
)

// 比 int64 还要大的整型， 通过 math方法获得
func Bigtype1() {
	// 创建超大整型对象
	var v1 = new(big.Int)
	// 将字符串写入， 用10进制的方式
	v1.SetString("10000000000000000", 10)
	fmt.Println(v1, reflect.TypeOf(v1))
}

// 运算 加减乘除
func Bigtype2() {
	var v1 = new(big.Int)
	v1.SetInt64(98)

	// 简写
	// 先执行new定义指针， 之后执行 SetInt64(x)
	var v3 = big.NewInt(100)

	var v2 = new(big.Int)
	v2.SetString("99", 10)

	var result_1 = new(big.Int)
	result_1.Add(v1, v2)

	fmt.Println(result_1, reflect.TypeOf(result_1), v3)
}
